home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Taifun / Taifun 219 (1992-09-10)(Manewaldt, A.)(DE)(PD).zip / Taifun 219 (1992-09-10)(Manewaldt, A.)(DE)(PD).adf / BILDSCHIRMSCHONER / Bildschirmschoner1.bas < prev    next >
BASIC Source File  |  1992-09-02  |  3KB  |  171 lines

  1. REM $option y+
  2.  
  3. LIBRARY "exec.library"
  4. DECLARE FUNCTION Findtask&() LIBRARY
  5. task&=findtask&(0)
  6. CALL settaskpri&(task&,-127)
  7.  
  8.  
  9. WINDOW 1,"Bildschirmschoner 1.0          © 1992 by Siegfried Rings",(0,0)-(600,20),24+4+3
  10.  
  11.  
  12.  
  13.    sWindow&   = WINDOW(7)
  14.    sScreen&   = PEEKL(sWindow& + 46)
  15.    sViewPort& = sScreen& + 44
  16.    sRastPort& = sScreen& + 84
  17.    sColorMap& = PEEKL(sViewPort& + 4)
  18.    colorTab&  = PEEKL(sColorMap& + 4)
  19.  
  20. FOR i=0 TO 3
  21. farbe=PEEKW(colortab&+(2*i))
  22. r3%(i)=farbe\16^2
  23. g3%(i)=(farbe MOD 16^2)\16
  24. b3%(i)=farbe-r3%(i)*256-g3%(i)*16
  25. NEXT i
  26.  
  27. MENU 1,0,1,"SR_SOFTWARE_DESIGN "
  28. MENU 1,1,1,"   Zeit einstellen    "
  29. MENU 1,2,1,"  Über das Programm   "
  30. MENU 1,3,1,"     Entfernen        "
  31.  
  32.  
  33. haupt1:
  34. zeit&=TIMER
  35. zeit2&=30
  36. IF COMMAND$<>"" THEN 
  37.  zeit2&=VAL(COMMAND$)
  38. END IF
  39.  
  40. IF zeit2&<1 THEN zeit2&=1
  41. PRINT "Die Zeit steht auf ";zeit2&;" Sekunden"
  42. poregister&=&hdff00a
  43. p1register&=&hdff00c
  44.  
  45. mr&=14675990&
  46. ml&=&hbfe001
  47. dr&=12574721&
  48. t1&=12577793&
  49. p00=PEEKW(poregister&)
  50. p11=PEEKW(p1register&)
  51. br11=PEEKW(mr&)
  52.  
  53. bl11=PEEKB(ml&)
  54. d11=PEEKB(dr&)
  55. t11=PEEKB(t1&)
  56.  
  57.  
  58. haupt:
  59.  
  60. p0=PEEKW(poregister&)
  61. p1=PEEKW(p1register&)
  62. br1=PEEKW(mr&)
  63.  
  64. d1=PEEKB(dr&)
  65. bl1=PEEKB(ml&)
  66. t12=PEEKB(t1&)
  67.  
  68. IF p0<>p00  THEN GOSUB normal
  69.  IF d11<>d1  THEN GOSUB normal
  70. IF  br1<>br11  THEN GOSUB normal
  71. IF  p1<>p11  THEN GOSUB normal
  72. IF bl1<>bl11   THEN GOSUB normal
  73. IF t11<>t12  THEN GOSUB normal
  74.  
  75. IF TIMER-zeit2&>zeit& AND bit=0 THEN GOSUB dunkel
  76.  
  77.  
  78. m1%=MENU(0)
  79.  
  80. IF m1%<>1 THEN GOTO haupt
  81. m1%=MENU(1)
  82. ON m1%GOSUB eins,zwei,drei
  83. GOTO haupt
  84.  
  85. eins:
  86. WINDOW 2,"ZEIT EINSTELLEN IN SEKUNDEN",(100,100)-(310,130),1
  87.  
  88. LINE (130,5)-(170,20),2,bf
  89. LINE (130,5)-(170,20),1,b
  90.  
  91. COLOR 1,2
  92. LOCATE 2,18:PRINT "OKAY"
  93. COLOR 1,0
  94.  
  95. LINE (10,5)-(20,20),2
  96. LINE (10,5)-(30,5),2
  97. LINE (30,5)-(20,20),2
  98. PAINT (20,15),1,2
  99. LINE (90,20)-(110,20),2
  100. LINE (90,20)-(100,5),2
  101. LINE (110,20)-(100,5),2
  102. PAINT (100,15),1,2
  103. LOCATE 2,5:PRINT zeit2&
  104.  
  105. eins1:
  106. IF MOUSE(0)<>1 THEN GOTO eins1
  107.  
  108. x=MOUSE(1)
  109. y=MOUSE(2)
  110.  
  111. IF y>5 AND y<20 THEN 
  112. IF x>10 AND x<30 THEN INCR zeit2&:CALL warten(.1)
  113. IF x>90 AND x<110 THEN DECR zeit2&:CALL warten(.1)
  114. IF x>130 AND x<170 THEN GOTO eins2
  115. END IF
  116. IF zeit2&<1 THEN zeit2&=1
  117. IF zeit2&>4000 THEN zeit2&=4000
  118. LOCATE 2,5:PRINT zeit2&
  119. GOTO eins1 
  120. eins2:
  121. IF zeit2&<1 THEN zeit2&=1
  122. WINDOW CLOSE 2
  123. PRINT "Die Zeit steht auf ";zeit2&;" Sekunden"
  124. RETURN
  125.  
  126. zwei:
  127. WINDOW 2,"Über das Programm 'BILDSCHIRMSCHONER'",(100,100)-(500,180),1
  128. PRINT "BILDSCHIRMSCHONER 1.0 ,programmiert am 12.7.1992"
  129. PRINT "von Siegfried Rings in HISOFT-BASIC (COMPILIERT)"
  130. PRINT "Dieses Programm ist FREEWARE !Jeder soll und darf"
  131. PRINT "es benutzen.Wer mehr wissen will,schreibt an:"
  132. PRINT "Siegfried Rings Software-Design"
  133. PRINT "Iserstraße 7, 5419 Kleinmaischeid BRD"
  134. PRINT
  135. PRINT "         Drücke linke Maustaste";
  136. WHILE MOUSE(0)<>1:WEND
  137. WINDOW CLOSE 2
  138. RETURN
  139.  
  140. drei:
  141. SYSTEM
  142.  
  143. dunkel:
  144. PALETTE 0,0,0,0
  145. CALL display (0)
  146. RETURN
  147.  
  148. normal:
  149.  
  150. p00=PEEKW(poregister&)
  151. p11=PEEKW(p1register&)
  152. br11=PEEKW(mr&)
  153. bl11=PEEKB(ml&)
  154. d11=PEEKB(dr&)
  155. t11=PEEKB(t1&)
  156. zeit&=TIMER
  157. CALL display (1)
  158. PALETTE 0,r3%(0)/15,g3%(0)/15,b3%(0)/15
  159. bit=0
  160. RETURN
  161.  
  162. SUB DISPLAY(s%) STATIC
  163. IF s%=1 THEN POKEW 14676118&,33024&
  164. IF s%=0 THEN POKEW 14676118&,256
  165. END SUB
  166.  
  167. SUB warten (zeit) STATIC
  168. t=TIMER
  169. WHILE TIMER<t+zeit:WEND
  170. END SUB
  171.